// 将一个类的接口转化为另外一个接口，以满足用户需求，使类之间接口不兼容问题通过适配器得以解决。
// 解决兼容性问题

class Plug{
    getName(){
        return 'Iphone'
    }
}

class  Target{
    plug:any
    constructor(){
        this.plug = new Plug();
    }

    getName(){
        return this.plug.getName()+ '适配XXX充电头'
    }
}

let  target = new Target();
console.log( target.getName() ) ;

// 整合第三方SDK
// 封装旧接口

// 适配器与代理模式相似
// 适配器模式： 提供一个不同的接口（如不同版本的插头）
// 代理模式： 提供一模一样的接口